home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / util / moni / Scout-src.lha / netinclude / rpc / pmap_clnt.h < prev    next >
C/C++ Source or Header  |  2002-09-16  |  2KB  |  62 lines

  1. #ifndef RPC_PMAP_CLNT_H
  2. #define RPC_PMAP_CLNT_H
  3. /*
  4.  * $Id: pmap_clnt.h,v 1.1.1.1 2001/11/26 22:21:19 tboeckel Exp $
  5.  *
  6.  * Supplies C routines to get to portmap services.
  7.  *
  8.  * Copyright © 1994 AmiTCP/IP Group,
  9.  *                  Network Solutions Development Inc.
  10.  *                  All rights reserved.
  11.  *
  12.  */
  13. /* @(#)pmap_clnt.h    2.1 88/07/29 4.0 RPCSRC; from 1.11 88/02/08 SMI */
  14.  
  15. /*
  16.  * Copyright (C) 1984, Sun Microsystems, Inc.
  17.  */
  18.  
  19. /*
  20.  * Usage:
  21.  *    success = pmap_set(program, version, protocol, port);
  22.  *    success = pmap_unset(program, version);
  23.  *    port = pmap_getport(address, program, version, protocol);
  24.  *    head = pmap_getmaps(address);
  25.  *    clnt_stat = pmap_rmtcall(address, program, version, procedure,
  26.  *        xdrargs, argsp, xdrres, resp, tout, port_ptr)
  27.  *        (works for udp only.) 
  28.  *     clnt_stat = clnt_broadcast(program, version, procedure,
  29.  *        xdrargs, argsp,    xdrres, resp, eachresult)
  30.  *        (like pmap_rmtcall, except the call is broadcasted to all
  31.  *        locally connected nets.  For each valid response received,
  32.  *        the procedure eachresult is called.  Its form is:
  33.  *    done = eachresult(resp, raddr)
  34.  *        bool_t done;
  35.  *        caddr_t resp;
  36.  *        struct sockaddr_in *raddrp;
  37.  *        where resp points to the results of the call and raddr is the
  38.  *        address if the responder to the broadcast.
  39.  */
  40.  
  41. typedef bool_t (*resultproc_t)(caddr_t resp, struct sockaddr_in *raddrp);
  42.  
  43. extern bool_t        pmap_set(u_long program, u_long version,
  44.                  int protocol, u_short port);
  45. extern bool_t        pmap_unset(u_long program, u_long version);
  46. extern struct pmaplist *pmap_getmaps(struct sockaddr_in * address);
  47. extern enum clnt_stat    pmap_rmtcall(struct sockaddr_in * addr,
  48.                      u_long prog, u_long vers, u_long proc,
  49.                      xdrproc_t xdrargs, caddr_t argsp,
  50.                      xdrproc_t xdrres, caddr_t resp,
  51.                      struct compatible_timeval tout,
  52.                      u_long * port_ptr);
  53. extern enum clnt_stat    clnt_broadcast(u_long prog, u_long vers, u_long proc,
  54.                        xdrproc_t xargs, caddr_t argsp,
  55.                        xdrproc_t xresults, caddr_t resultsp,
  56.                        resultproc_t eachresult);
  57. extern u_short        pmap_getport(struct sockaddr_in * address,
  58.                      u_long program, u_long version,
  59.                      u_int protocol);
  60.  
  61. #endif /* !RPC_PMAP_CLNT_H */
  62.